#pragma once

#include "Newton.h"
#include "IPhyShape.h"
#include "../shared/geom.h"

/**
    Helper Functions for converting
*/
float* Phys_ToArrayMatrix( const MMatrix4x4f &m );

/**
===================================
Newton Physics Engine Implementation
===================================
*/
class NewtonEngine //: public IPhysEngine
{
public:
    NewtonEngine(void);

    /** Create a Shape */
    IPhyShape*  CreateShape( Shape_t shape );
    /** Initialize */
    bool    Init();
    /** shutdown */
    void    Shutdown();

    /** Update the world */
    void Update( float dt );
private:
    NewtonWorld*    m_world;    // newton's hook
public:
    virtual ~NewtonEngine(void);
};
